package com.doit.day03

object _04_集合之数组 {
  def main(args: Array[String]): Unit = {
    val arr: Array[Int] = Array(1, 2, 3, 4)
//    val arr1: Array[Int] = new Array[Int](4)//0 0 0 0
    //增删改查
    arr.update(0,100) // 100, 2, 3, 4
    println(arr.length)//4
    println(arr.sum)//数组中所有元素的和
    arr.apply(0)//获取索引中第一个元素的值100
    arr(0)//获取索引中第一个元素的值 100

    println(arr.size)//4

    val ints: Array[Int] = arr.take(1)
    println(ints.mkString(","))//将数组中的元素一个个拿出来，然后按照,进行拼接，最后返回一个字符串 100
    val ints1: Array[Int] = arr.take(2)//100,2
    val ints2: Array[Int] = arr.take(3)//100,2,3
    val ints3: Array[Int] = arr.take(4)//100,2,3,4
    println(ints1.mkString(","))//将数组中的元素一个个拿出来，然后按照,进行拼接，最后返回一个字符串
    println(ints2.mkString(","))//将数组中的元素一个个拿出来，然后按照,进行拼接，最后返回一个字符串
    println(ints3.mkString(","))//将数组中的元素一个个拿出来，然后按照,进行拼接，最后返回一个字符串


    println(arr.max)//100
    println(arr.min)//2

    //删除原来数组中的元素，drop就是dropLeft 从做往右删
    val ints4: Array[Int] = arr.drop(1)
    //从右往左删除
    val ints5: Array[Int] = arr.dropRight(1)
    println(ints4.mkString(","))//2,3,4
    println(ints5.mkString(","))//100,2,3

    println(arr.last)//从做往右，最后的一个元素
    println(arr.head)//从左往右第一个元素
    val tail: Array[Int] = arr.tail//在集合中，头是指从做到右第一个元素，尾，指的是除了头，剩下都是尾
    println(tail.mkString(","))//2,3,4


    //克隆一个新的数组，长度和元素都一样
    val ints6: Array[Int] = arr.clone()
    println(ints6.mkString(","))//100,2,3,4





  }
}
